home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 23 / Amiga Format AFCD23 (Feb 1998, Issue 107).iso / +look_here_1st!+ / reader_requests / alienbreed3d2 / cheesesauce / askforprot.s < prev    next >
Text File  |  1997-11-28  |  3KB  |  179 lines

  1.  
  2.  moveq #0,d3
  3.  move.w d1,d3
  4.  move.l d3,d1
  5.  lsr.w #8,d3
  6.  divu #50,d1
  7.  swap d1
  8.  addq #1,d1
  9.  swap d2
  10.  clr.w d2
  11.  swap d2
  12.  divu #17,d2
  13.  swap d2
  14.  divu #7,d3
  15.  swap d3
  16.  
  17.  move.l #PROTLINE+14-20000,a0
  18.  move.w #32,20000(a0)
  19.  move.w d3,d0
  20.  add.w #'A',d0
  21.  move.b d0,20001(a0)
  22.  move.l #PROTLINE+21-20000,a0
  23.  move.w d1,d0
  24.  bsr PUTINNUM
  25.  move.l #PROTLINE+31-20000,a0
  26.  move.w d2,d0
  27.  add.w #'A',d0
  28.  move.w #32,20000(a0)
  29.  move.b d0,20001(a0)
  30.  
  31.  move.w #7,OptScrn
  32.  movem.l d0-d7/a0-a6,-(a7)
  33.  jsr DRAWOPTSCRN
  34.  movem.l (a7)+,d0-d7/a0-a6
  35.  
  36.  move.l #PROTLINE+80+18-10000,a0
  37.  lea 10000(a0),a5
  38.  bsr GETDIGIT
  39.  moveq #0,d0
  40.  add.w d7,d0
  41.  add.b #'0',d7
  42.  move.b d7,10000(a0)
  43.  movem.l d0-d7/a0-a6,-(a7)
  44.  jsr JUSTDRAWIT
  45.  movem.l (a7)+,d0-d7/a0-a6
  46.  muls #10,d0
  47.  lea 10001(a0),a5
  48.  bsr GETDIGIT
  49.  add.w d7,d0
  50.  add.b #'0',d7
  51.  move.b d7,10001(a0)
  52.  movem.l d0-d7/a0-a6,-(a7)
  53.  jsr JUSTDRAWIT
  54.  movem.l (a7)+,d0-d7/a0-a6
  55.  muls #10,d0
  56.  lea 10002(a0),a5
  57.  bsr GETDIGIT
  58.  add.w d7,d0 
  59.  add.b #'0',d7
  60.  move.b d7,10002(a0)
  61.  movem.l d0-d7/a0-a6,-(a7)
  62.  jsr JUSTDRAWIT
  63.  movem.l (a7)+,d0-d7/a0-a6
  64.  
  65.  rts
  66.  
  67. PUTINNUM:
  68.  add.l #20000,a0
  69.  ext.l d0
  70.  divs #10,d0
  71.  add.b #'0',d0
  72.  move.b d0,(a0)+
  73.  swap d0
  74.  add.b #'0',d0
  75.  move.b d0,(a0)+
  76.  rts
  77.  
  78. GETDIGIT:
  79.  IFEQ CD32VER
  80.  clr.b lastpressed
  81. .wtnum
  82.  tst.b lastpressed
  83.  beq.s .wtnum
  84.  moveq #0,d7
  85.  move.b lastpressed,d7
  86.  cmp.b #1,d7
  87.  blt.s GETDIGIT
  88.  cmp.b #10,d7
  89.  bgt.s GETDIGIT
  90.  beq.s retzero
  91.  rts
  92. retzero:
  93.  clr.b d7
  94.  rts
  95.  ENDC
  96.  IFNE CD32VER
  97.  moveq #0,d7
  98.  move.b #'0',(a5)
  99.  movem.l d0-d7/a0-a6,-(a7)
  100.  jsr JUSTDRAWIT
  101.  movem.l (a7)+,d0-d7/a0-a6
  102.  
  103. .wtnum:
  104.  btst #1,$dff00c
  105.  sne d1
  106.  btst #1,$dff00d
  107.  sne d2
  108.  btst #0,$dff00c
  109.  sne d3
  110.  btst #0,$dff00d
  111.  sne d4
  112.  
  113.  eor.b d1,d3
  114.  eor.b d2,d4
  115.  
  116.  tst.b d4
  117.  bne.s .PREVNUM
  118.  tst.b d3
  119.  bne.s .NEXTNUM
  120.  btst #7,$bfe001
  121.  bne.s .wtnum
  122.  bsr WAITFORNOPRESS
  123.  rts
  124.  
  125. .PREVNUM:
  126.  subq #1,d7
  127.  bge.s .nonegg
  128.  moveq #9,d7
  129. .nonegg:
  130.  move.b d7,d1
  131.  add.b #'0',d1
  132.  move.b d1,(a5)
  133.  movem.l d0-d7/a0-a6,-(a7)
  134.  jsr JUSTDRAWIT
  135.  movem.l (a7)+,d0-d7/a0-a6
  136.  
  137.  bsr WAITFORNOPRESS
  138.  
  139.  bra .wtnum
  140.  
  141. .NEXTNUM:
  142.  addq #1,d7
  143.  cmp.w #9,d7
  144.  ble.s .nobigg
  145.  moveq #0,d7
  146. .nobigg:
  147.  move.b d7,d1
  148.  add.b #'0',d1
  149.  move.b d1,(a5)
  150.  movem.l d0-d7/a0-a6,-(a7)
  151.  jsr JUSTDRAWIT
  152.  movem.l (a7)+,d0-d7/a0-a6
  153.  bsr WAITFORNOPRESS
  154.  bra .wtnum
  155.  rts
  156. CHARTOPICK:
  157.  dc.w 0
  158.  ENDC
  159.  
  160. WAITFORNOPRESS 
  161.  btst #1,$dff00c
  162.  sne d1
  163.  btst #1,$dff00d
  164.  sne d2
  165.  btst #0,$dff00c
  166.  sne d3
  167.  btst #0,$dff00d
  168.  sne d4
  169.  eor.b d1,d3
  170.  eor.b d2,d4
  171.  tst.b d3
  172.  bne.s WAITFORNOPRESS
  173.  tst.b d4
  174.  bne.s WAITFORNOPRESS
  175.  btst #7,$bfe001
  176.  beq.s WAITFORNOPRESS
  177.  tst.b d1
  178.  bne.s WAITFORNOPRESS
  179.  rts